package com.turing.post.cardtransactions.util;

import java.math.BigInteger;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * 卡业务受理业务逻辑
 * 
 * @author yxb
 * 
 */
@Remote
@Local
public interface SaleTransBusiness {

	/**
	 * 激活销售单
	 * @param webInput 
	 * 
	 * @param saleOrderId
	 *            销售单ID
	 * @param operId
	 *            操作员ID
	 * @throws PCPSApplicationException
	 *             异常信息
	 */
	public void activateSaleOrder(PCPSWebInput webInput, BigInteger saleOrderId, BigInteger operId)
			throws PCPSApplicationException;

	/**
	 * 撤销激活销售单
	 * 
	 * @param saleOrderId
	 *            销售单ID
	 * @param operId
	 *            操作员ID
	 * @param remark
	 *            撤销激活原因
	 * @throws PCPSApplicationException
	 *             异常信息
	 */
	public void cancelActivateSaleOrder(PCPSWebInput webInput,BigInteger saleOrderId,
			BigInteger operId, String remark) throws PCPSApplicationException;

	/**
	 * 冻结已激活销售单
	 * 
	 * @param saleOrderId
	 *            销售单ID
	 * @param operId
	 *            操作员ID
	 * @param remark
	 *            冻结原因
	 * @throws PCPSApplicationException
	 *             异常信息
	 */
	public void freezeSaleOrder(PCPSWebInput webInput,BigInteger saleOrderId, BigInteger operId,
			String remark) throws PCPSApplicationException;

	/**
	 * 解冻结已激活销售单
	 * 
	 * @param saleOrderId
	 *            销售单ID
	 * @param operId
	 *            操作员ID
	 * @param remark
	 *            解冻结原因
	 * @throws PCPSApplicationException
	 *             异常信息
	 */
	public void unFreezeSaleOrder(PCPSWebInput webInput,BigInteger saleOrderId, BigInteger operId,
			String remark) throws PCPSApplicationException;

	/**
	 * 燃气车加气卡销售激活
	 * 
	 * @param saleOrderId
	 * @param operId
	 * @throws PCPSApplicationException
	 */
	public void activateAppManageSaleOrder(BigInteger saleOrderId,
			BigInteger operId) throws PCPSApplicationException;

	public void activateMakeCardControl(String key, String batchNo)
			throws PCPSApplicationException;
}
